# -------------------------- 数据库配置（客户远程 PostgreSQL）--------------------------
# 配置来源：客户提供的远程数据库信息
DB_CONFIG = {
    "host": "www.1026.tech",  # 客户远程服务器域名
    "port": 5430,             # 客户自定义端口（非默认5432）
    "user": "postgres",       # 客户提供的用户名
    "password": "pass0907!",  # 客户提供的密码（含特殊符号，原样保留）
    "dbname": "cypcv4"        # 客户提供的数据库名（三选一：cypcv4/cypcv5/cypcv7，优先试这个）
}

# -------------------------- 模型配置（与训练时完全一致，已验证无冲突）--------------------------
MODEL_CONFIG = {
    "model_path": "models/kronos_electric_fast.pth",  # 模型权重文件路径（与app.py同级的models目录）
    "scaler_path": "models/scaler_fast.pkl",          # 归一化器文件路径（同上）
    "history_len": 336,                                # 历史窗口长度（336个15分钟点=84小时，与训练时一致）
    "pred_len": 96,                                   # 预测窗口长度（96个15分钟点=24小时）
    "input_dim": 12,                                  # 输入特征维度（与训练时一致）
    "n_layers": 3,                                    # Transformer编码器/解码器层数（训练时3层）
    "d_model": 64,                                    # 隐藏层维度（训练时64维）
    "n_heads": 8,                                     # 多头注意力头数（64维/8头=8维/头，符合逻辑）
    "d_ff": 256,                                      # 前馈网络维度（训练时256维）
    "dropout": 0.1,                                   # Dropout正则化比例（与训练时一致）
    "activation": "gelu"                              # 激活函数（与训练时一致）
}

# -------------------------- API 服务配置（已解决端口冲突）--------------------------
API_CONFIG = {
    "host": "0.0.0.0",  # 绑定所有网络接口，允许本地/局域网访问
    "port": 5001,       # 服务端口（已更换为5001，避免默认5000端口冲突）
    "debug": False      # 生产环境关闭Debug模式（避免暴露敏感信息）
}

# -------------------------- 数据库查询SQL（PostgreSQL专用，适配客户数据表）--------------------------
QUERY_SQL = """
SELECT 
    create_time,
    electricity_num,
    electricity_fee,
    power_factor,
    sharp_electricity,
    peak_electricity,
    flat_electricity,
    valley_electricity,
    deep_valley_electricity
FROM 
    cost_electricity_input
WHERE 
    create_by = %s
ORDER BY 
    create_time DESC
LIMIT %s;
"""

# -------------------------- 可选：日志配置（如需持久化日志可启用）--------------------------
LOG_CONFIG = {
    "log_file": "api_logs.log",  # 日志文件路径
    "log_level": "INFO",         # 日志级别（INFO/DEBUG/ERROR）
    "max_bytes": 1024 * 1024 * 5,  # 单个日志文件最大5MB
    "backup_count": 3            # 保留3个备份日志文件
}